package br.com.screen;

/* Como a barra de menu sera compartilhada por todas as telas do programa e
 * uma modificação em qualquer uma delas afetará todas as outras, a barra de
 * menu foi criada utilizando o padrão Singleton
 */

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

/**
*
* @author joaopau1o
* @author netobeans
*/


public class BarraDeMenu extends JMenuBar {
	
	private static BarraDeMenu uniqueInstance = null;
	
	private BarraDeMenu() {
		
		JMenu arquivo = new JMenu("Arquivo");
		JMenu editar = new JMenu("Editar");
		JMenu sobre = new JMenu("Sobre");
		JMenuItem arquivo_conta = new JMenuItem("Criar conta");
		JMenuItem arquivo_conectar = new JMenuItem("Conectar");
		JMenuItem arquivo_desconectar = new JMenuItem("Desconectar");
		JMenuItem arquivo_sair = new JMenuItem("Sair");
		JMenuItem editar_conta = new JMenuItem("Editar conta");
		JMenuItem editar_servidor= new JMenuItem("Editar servidor");
		JMenu editar_status = new JMenu("Status");
		JMenuItem editar_status_disponivel = new JMenuItem("Disponível");
		JMenuItem editar_status_ausente = new JMenuItem("Ausente");
		JMenuItem editar_status_ocupado = new JMenuItem("Ocupado");
		
		
		arquivo.add(arquivo_conta);
		arquivo.add(arquivo_conectar);
		arquivo.add(arquivo_desconectar);
		arquivo.add(arquivo_sair);
		editar.add(editar_conta);
		editar.add(editar_servidor);
		editar.add(editar_status);
		editar_status.add(editar_status_disponivel);
		editar_status.add(editar_status_ausente);
		editar_status.add(editar_status_ocupado);
		
		
		arquivo_desconectar.setEnabled(false); 	// Estes valores mudam com os
		editar_conta.setEnabled(false);			// eventos, devem ser instanciados
		editar_status.setEnabled(false);		// fora do construtor 
		
		this.add(arquivo);
		this.add(editar);
		this.add(sobre);
		
		arquivo_conta.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent e) {  
            	ScreenConta conta = new ScreenConta();
            }  
        });
	}

	public static synchronized BarraDeMenu Instance() {
		if(uniqueInstance == null) {
			uniqueInstance = new BarraDeMenu();
		}
		return uniqueInstance;
	}
}
